home *** CD-ROM | disk | FTP | other *** search
/ PC Play 129 / pc play 129.iso / Demo / man2 / man2.exe / data / scripts / BASE_EFFECTS_SCRIPTS / base_shot_fly.lua < prev    next >
Encoding:
Text File  |  2007-01-25  |  4.5 KB  |  173 lines

  1.  
  2. function base_shot_fly1()
  3.     local explosion = uniGetExecutor()
  4.     explosion:setTransformOwner()
  5.     local mshot1 = explosion:addSimpleEffect(ENET_EFFECT_SP_BASESHOT_FLY)
  6.     local shotlight = explosion:addSimpleEffect(ENET_EFFECT_BASE_LIGHTSPOT)
  7.     waitDeath(explosion:forwardFly(uniGetTarget(),150))
  8.     uniGetTarget():executeCommand(ENC_DAMAGED)
  9.     shotlight:destroy()
  10.     mshot1:destroy()
  11.     local exp_ps = explosion:addSimpleEffect(ENET_EFFECT_PS_BASESHOT_EXPLOSION)
  12.     exp_ps:suspendedDestroy(2.5)
  13.     pause(1.5)
  14.     explosion:destroy()
  15. end
  16.  
  17. registerCommand(ENSCRIPTSET_BASESHOT,ENC_FIRE1,"base_shot_fly1")
  18.  
  19. --
  20. -- dummy effect creation test
  21. --
  22. desc = getEffectDescriptionP(ENET_EFFECT_BASESHOT_FLY)
  23. desc.ClassID = ENCLASS_DUMMY
  24. desc.EffectClassType = ENECT_GEOMETRY
  25.  
  26. desc.ScriptSet = ENSCRIPTSET_BASESHOT
  27. desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
  28. local vzbzd1 = D3DXVECTOR3:new(0,0,0)
  29. desc.LocalPosition = vzbzd1
  30. vzbzd1:delete()
  31. desc.MoveType = ENMOVE_FLY
  32.  
  33. desc.ActivityType = ENACT_COMMANDSEMIACTIVE
  34. --
  35. -- end dummy effect creation test
  36. --
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43. --
  44. -- lightsource creation test
  45. --
  46. desc = getEffectDescriptionP(ENET_EFFECT_BASE_LIGHTSPOT)
  47. desc.ClassID = ENCLASS_LIGHTSOURCE
  48. desc.EffectClassType = ENECT_LIGHTSOURCE
  49.  
  50. desc.ScriptSet = ENSCRIPTSET_UNKNOWN
  51. desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
  52. local vzbzd2 = D3DXVECTOR3:new(0,0,0)
  53. desc.LocalPosition = vzbzd2
  54. vzbzd2:delete()
  55. desc.ActivityType = ENACT_SEMIACTIVE
  56.  
  57. -- add interpolators
  58. desc:clearInterpolators()
  59.  
  60. local interpolator = createInterpolator()
  61. interpolator:addKey(0.0,70.0)
  62. interpolator:addKey(10.0,70.0)
  63. interpolator:finalize(false)
  64. -- add interpolator on light range
  65. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_LIGHT_RANGE))
  66.  
  67. local interpolator = createInterpolator()
  68. interpolator:addKey(0.0,0.0)
  69. interpolator:addKey(0.1,0.6)
  70. interpolator:addKey(0.5,0.0)
  71. interpolator:finalize(false)
  72. -- add interpolator on  G colors
  73. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_G))
  74.  
  75. local interpolator = createInterpolator()
  76. interpolator:addKey(0.0,0.0)
  77. interpolator:addKey(0.1,0.6)
  78. interpolator:addKey(0.5,0.0)
  79. interpolator:finalize(false)
  80. -- add interpolator on R G colors
  81. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_R))
  82.  
  83. local interpolator = createInterpolator()
  84. interpolator:addKey(0.0,0.0)
  85. interpolator:addKey(0.1,0.6)
  86. interpolator:addKey(0.5,0.0)
  87. interpolator:finalize(false)
  88. -- add interpolator on B colors
  89. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_B))
  90.  
  91.  
  92. --
  93. -- end lightsource creation description
  94. --
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107. --
  108. -- oriented sprite with interpolator
  109. --
  110. desc = getEffectDescriptionP(ENET_EFFECT_SP_BASESHOT_FLY)
  111.  
  112. desc.ClassID = ENCLASS_ORIENTEDSPRITE
  113. desc.EffectClassType = ENECT_ORIENTEDSPRITE
  114.  
  115. desc.ScriptSet = ENSCRIPTSET_UNKNOWN
  116. desc.FileName = "dot_alien_effect_firetrace.dds"
  117. desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
  118. local vzbzd3 = D3DXVECTOR3:new(0,0,0)
  119. desc.LocalPosition = vzbzd3
  120. vzbzd3:delete()
  121. desc.isAnimateTexture = false
  122.  
  123. desc.Material = ENMAT_PARTICLE_LIGHT
  124. desc.MaterialColors.Ambient.r = 0
  125. desc.MaterialColors.Ambient.g = 0
  126. desc.MaterialColors.Ambient.b = 0
  127. desc.MaterialColors.Ambient.a = 1
  128. desc.MaterialColors.Diffuse.r = 0
  129. desc.MaterialColors.Diffuse.g = 0
  130. desc.MaterialColors.Diffuse.b = 0
  131. desc.MaterialColors.Diffuse.a = 1
  132. desc.MaterialColors.Emissive.r = 0.3
  133. desc.MaterialColors.Emissive.g = 0.5
  134. desc.MaterialColors.Emissive.b = 1
  135. desc.MaterialColors.Emissive.a = 1
  136. desc.RenderType = ENRENDERTYPE_GEOMETRY
  137.  
  138. spdesc = desc.OrientedSprite
  139. spdesc.SpriteType = EN3DSPRITE_ORIENTED
  140. spdesc.xsize = 8
  141. spdesc.ysize = 64
  142. local vzbzd4 = D3DXVECTOR3:new(0,0,1)
  143. spdesc.OrientAxis = vzbzd4
  144. vzbzd4:delete()
  145. local vzbzd5 = D3DXVECTOR3:new(1,0,0)
  146. spdesc.BindAxis = vzbzd5
  147. vzbzd5:delete()
  148. spdesc.Centering = ENCENTERING_CENTER
  149. spdesc.IsTargetted = false
  150. spdesc.TargetRelativePosition = ENLOCALPOS_NOTSPECIFIED
  151. spdesc.IsAxisInLocalSpace = true
  152.  
  153. interpolator = createInterpolator()
  154. interpolator:addKey(0.0,0.0)
  155. interpolator:addKey(0.05,1.0)
  156. interpolator:addKey(0.3,0.0)
  157. interpolator:finalize(false)
  158. -- add interpolator on X scale
  159. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_SCALE_X))
  160.  
  161. interpolator = createInterpolator()
  162. interpolator:addKey(0.0,0.0)
  163. interpolator:addKey(0.05,1.0)
  164. interpolator:addKey(0.3,0.0)
  165. interpolator:finalize(false)
  166. -- add interpolator on Y scale
  167. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_SCALE_Y))
  168.  
  169.  
  170. --
  171. -- end sprite creation description
  172. --
  173.